package com.ruoyi.web.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.web.domain.UserAddress;
import com.ruoyi.web.vo.UserAddressVO;

import java.util.List;

/**
 * 用户充值地址Service接口
 *
 * @author ruoyi
 * @date 2022-12-30
 */
public interface IUserAddressService {
    /**
     * 获取登录用户充值地址
     *
     * @return r
     */
    R<List<UserAddressVO>> getUserAddress();

    /**
     * 查询用户充值地址
     *
     * @param id 用户充值地址主键
     * @return 用户充值地址
     */
    public UserAddress selectUserAddressById(Long id);

    /**
     * 查询用户充值地址列表
     *
     * @param userAddress 用户充值地址
     * @return 用户充值地址集合
     */
    public List<UserAddress> selectUserAddressList(UserAddress userAddress);

    /**
     * 新增用户充值地址
     *
     * @param userAddress 用户充值地址
     * @return 结果
     */
    public int insertUserAddress(UserAddress userAddress);

    /**
     * 修改用户充值地址
     *
     * @param userAddress 用户充值地址
     * @return 结果
     */
    public int updateUserAddress(UserAddress userAddress);

    /**
     * 批量删除用户充值地址
     *
     * @param ids 需要删除的用户充值地址主键集合
     * @return 结果
     */
    public int deleteUserAddressByIds(Long[] ids);

    /**
     * 删除用户充值地址信息
     *
     * @param id 用户充值地址主键
     * @return 结果
     */
    public int deleteUserAddressById(Long id);

    /**
     * 根据userIdList查询
     *
     * @param userIdList 用户idList
     * @param condition  查询条件
     * @return {@link List< UserAddress>}
     * @since 2023/4/4 12:37
     */
    List<UserAddress> listByUserIdList(List<Long> userIdList,
                                       UserAddress condition);
}
